package net.zschech.gwt.chat.client.domain;

import java.io.Serializable;
import java.util.Date;

/**
 * Game itself shoud log several game information
 * 
 * @author ray huang
 */
public class Game implements Serializable {

  private static final long serialVersionUID = 1L;
  private long gameId;
  /**
   * game room
   */
  private long roomId;
  /**
   * the gamer who start this game,also make the first move
   */
  private long hostGamer;

  /**
   * the gamer who challenge the hostGamer
   */
  private long challegingGamer;
  /**
   * when the hostGamer enter this game
   */
  private Date startDate;
  /**
   * any gamer exit this game can be considered that game is end
   */
  private Date endDate;
  /**
   * the last one exist the room or based on some algorithm
   */
  private long winner;
  /**
   * right now we only have weiqi 2011-6-15 get this from the enum
   */
  private GameType gameType;

  public long getGameId() {
    return gameId;
  }

  public void setGameId(long gameId) {
    this.gameId = gameId;
  }

  public long getRoomId() {
    return roomId;
  }

  public void setRoomId(long roomId) {
    this.roomId = roomId;
  }

  public long getHostGamer() {
    return hostGamer;
  }

  public void setHostGamer(long hostGamer) {
    this.hostGamer = hostGamer;
  }

  public long getChallegingGamer() {
    return challegingGamer;
  }

  public void setChallegingGamer(long challegingGamer) {
    this.challegingGamer = challegingGamer;
  }

  public Date getStartDate() {
    return startDate;
  }

  public void setStartDate(Date startDate) {
    this.startDate = startDate;
  }

  public Date getEndDate() {
    return endDate;
  }

  public void setEndDate(Date endDate) {
    this.endDate = endDate;
  }

  public long getWinner() {
    return winner;
  }

  public void setWinner(long winner) {
    this.winner = winner;
  }

  public GameType getGameType() {
    return gameType;
  }

  public void setGameType(GameType gameType) {
    this.gameType = gameType;
  }

}
